package com.tan.collection.set;

import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;

public class SetTest {
    public static void main(String[] args) {
        Set<String> words = new HashSet<>();
        //HashSet implements Set.散列集实现了集合。

        long totalTime = 0;

        try {
            System.out.print("请输入单词：");
            //创建一个控制台输入接收器
            Scanner in = new Scanner(Paths.get("E:/test/a.txt"));
            //读取指定文件
            while (in.hasNext()){

                String word = in.next();
                //创建一个变量存储

                long callTime = System.currentTimeMillis();
                //获取系统时间
                words.add(word);
                //把从控制台输入的单词，存入散列集中。
                callTime = System.currentTimeMillis()-callTime;
                //计算存入耗费的时间
                totalTime += callTime;
            }
        }catch (Exception e){
            e.printStackTrace();
        }

        Iterator<String> iter = words.iterator();
        //创建一个迭代器
        for (int i=1;i<=20 && iter.hasNext();i++){
            //迭代器遍历输出
            System.out.println(iter.next());
            System.out.println("...");
            System.out.println(words.size()+" distinct words. "+totalTime+" milliseconds.");
        }
    }
}
